package com.burstly.jackson.map;

import com.burstly.jackson.map.introspect.AnnotatedField;
import com.burstly.jackson.map.introspect.AnnotatedMethod;
import com.burstly.jackson.map.introspect.AnnotatedParameter;

public abstract class PropertyNamingStrategy
{
  public static final PropertyNamingStrategy CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES = new LowerCaseWithUnderscoresStrategy();

  public String nameForConstructorParameter(MapperConfig<?> paramMapperConfig, AnnotatedParameter paramAnnotatedParameter, String paramString)
  {
    return paramString;
  }

  public String nameForField(MapperConfig<?> paramMapperConfig, AnnotatedField paramAnnotatedField, String paramString)
  {
    return paramString;
  }

  public String nameForGetterMethod(MapperConfig<?> paramMapperConfig, AnnotatedMethod paramAnnotatedMethod, String paramString)
  {
    return paramString;
  }

  public String nameForSetterMethod(MapperConfig<?> paramMapperConfig, AnnotatedMethod paramAnnotatedMethod, String paramString)
  {
    return paramString;
  }

  public static class LowerCaseWithUnderscoresStrategy extends PropertyNamingStrategy.PropertyNamingStrategyBase
  {
    public String translate(String paramString)
    {
      if (paramString == null);
      StringBuilder localStringBuilder;
      int j;
      int m;
      do
      {
        return paramString;
        int i = paramString.length();
        localStringBuilder = new StringBuilder(i * 2);
        j = 0;
        k = 0;
        m = 0;
        if (m < i)
          break;
      }
      while (j <= 0);
      return localStringBuilder.toString();
      char c = paramString.charAt(m);
      if ((m > 0) || (c != '_'))
      {
        if (!Character.isUpperCase(c))
          break label134;
        if ((k == 0) && (j > 0) && (localStringBuilder.charAt(j - 1) != '_'))
        {
          localStringBuilder.append('_');
          j++;
        }
        c = Character.toLowerCase(c);
      }
      label134: for (int k = 1; ; k = 0)
      {
        localStringBuilder.append(c);
        j++;
        m++;
        break;
      }
    }
  }

  public static abstract class PropertyNamingStrategyBase extends PropertyNamingStrategy
  {
    public String nameForConstructorParameter(MapperConfig<?> paramMapperConfig, AnnotatedParameter paramAnnotatedParameter, String paramString)
    {
      return translate(paramString);
    }

    public String nameForField(MapperConfig<?> paramMapperConfig, AnnotatedField paramAnnotatedField, String paramString)
    {
      return translate(paramString);
    }

    public String nameForGetterMethod(MapperConfig<?> paramMapperConfig, AnnotatedMethod paramAnnotatedMethod, String paramString)
    {
      return translate(paramString);
    }

    public String nameForSetterMethod(MapperConfig<?> paramMapperConfig, AnnotatedMethod paramAnnotatedMethod, String paramString)
    {
      return translate(paramString);
    }

    public abstract String translate(String paramString);
  }
}

/* Location:           E:\android\Toy Defense 2_dex2jar.jar
 * Qualified Name:     com.burstly.jackson.map.PropertyNamingStrategy
 * JD-Core Version:    0.6.2
 */